www.gusucode.com > Weighted Differential Evolution Algorithm (WDE) > Weighted Differential Evolution Algorithm (WDE)/cc_wde/classic_benchmark_problems/hartman3.m
function ObjVal = hartman3(Chrom,switch1); % Compute population parameters [Nind,Nvar] = size(Chrom); a=[3,10,30;0.1,10,35;3,10,30;0.1,10,35]; c=[1,1.2,3,3.2]; p=[0.3689,0.1170,0.2673;0.4699,0.4387,0.7470;0.1091,0.8732,0.5547;0.038150,0.5743,0.8828]; ObjVal=zeros(Nind,1); top=0; top1=0; for k=1:Nind for n=1:4 for j=1:Nvar top1=top1+(a(n,j)*(Chrom(k,j)-p(n,j))^2); end; top=top+c(n)*exp(-top1); top1=0; end ObjVal(k)=-top; top=0; end return